The present invention relates generally to interface devices between humans and computers, and more particularly to computer interface devices that provide force feedback to the user.
Interface devices are used extensively with computer systems in the implementation of computer-controlled games, simulations, and other applications very popular with the mass market of home consumers. In a typical implementation, a computer system displays a visual environment to a user on a display device. Users can interact with the displayed environment by inputting commands or data from the interface device. Popular interface devices include joysticks, “joypad” button controllers, mice, trackballs, styluses, tablets, pressure spheres, foot or hand pedals, or the like, that are connected to the computer system controlling the displayed environment. The computer updates the environment in response to the user's manipulation of a moved manipulandum such as a joystick handle or mouse, and provides visual feedback to the user using the display screen.
In some interface devices, haptic (e.g., tactile) feedback is also provided to the user, more generally known as “force feedback.” These types of interface devices can provide physical sensations to the user manipulating the physical object of the interface device. Typically, motors or other actuators of the interface device are coupled to the manipulandum and are connected to the controlling computer system. The computer system receives sensor signals from the interface device and sends appropriate force feedback control signals to the actuators in conjunction with host events. The actuators then provide forces on the manipulandum. A local microprocessor can be used to offload some computational burden on the host. The computer system can thus convey physical sensations to the user in conjunction with other visual and auditory feedback as the user is contacting the manipulandum. Commercially available force feedback devices include the ForceFX joystick from CH Products, Inc. and Immersion Corporation, and the Sidewinder Force Feedback Pro from Microsoft Corporation.
One problem occurring in providing commercially available force feedback devices with realistic forces is providing a low cost device. Such components as belt drive transmissions can be used to reduce manufacturing costs. However, one problem occurring with many types of belt drives is that an amount of compliance or backlash is typically inherent in the system caused by the flexibility or stretching of the belts. Other types of transmissions also may introduce compliance into a system, as well as various types of linkages or gimbal mechanisms which provide the degrees of freedom to the manipulandum of the force feedback device. The compliance can also be derived from plastic or other flexible components used in low-cost devices.
The compliance and backlash in a force feedback mechanical system can cause problems in accurately sensing the position of the manipulandum. This can be a particular problem in those systems having significant compliance between the manipulandum and the sensor. The user may have moved the manipulandum a small distance, but due to the compliance this change in position is only partially detected or not detected at all by the sensor, or is detected too long after the event for the device to provide meaningful forces in reaction to the change in position. This is especially of concern when the position sensor is rigidly coupled to the actuator to sense motion by sensing rotation or movement of the actuator shaft (and where the manipulandum is compliant-coupled to the sensor), as is commonly done in force feedback devices to provide greater sensing resolution with a given sensor and to provide more stable control of the device.
Another problem involved with inaccurate position reporting in a force feedback device is related to sensing the position of the manipulandum near the limits to provided degrees of freedom. For example, force feedback devices typically provide hard stops to limit the motion of the manipulandum to a constrained range. Due to compliance in the mechanical and/or drive system, the problem of sensing the position of the manipulandum is exacerbated at the hard stops. For example, when the user moves the manipulandum fast against the hard stop, the compliance in the system may allow further motion past the hard stop to be sensed by the sensor due to compliance and inertia. However, when the manipulandum is moved slowly, the inertia is not as strong, and the sensor may not read as much extra motion past the hard stop. These two situations can cause problems in sensing an accurate position consistently.
Yet another problem with position sensing can occur upon startup of a force feedback device. If a device uses relative or incremental sensors, as many force feedback devices do, then a controlling microprocessor or host computer does not immediately know the starting position of the manipulandum when the device is first powered. This can cause problems when defining a range of motion for the manipulandum. The assumption that the manipulandum is at the center of the full range of motion can cause problems since the startup position may actually be very close to or at a limit such as a hard stop, and the manipulandum cannot be moved very far before this limit is reached even though the controller expects a much larger range of motion. Dynamic calibration can be used, where the range of the device is considered nominal at startup and is gradually increased as the sensors detect the manipulandum at ever-increasing ranges. However, a problem can exist for force feedback devices that provide this type of dynamic calibration and which use a software centering spring upon startup, which is not a physical spring but a spring force controlled by the device and output by the actuators which centers the manipulandum in its range of motion. If the range of the manipulandum is made small and then allowed to increase, then the default spring at startup will cause instability in the device, i.e., the manipulandum will oscillate due to the device sensing tiny motions as large motions within the small range, which causes the effective gain of the control loop to be too high for the position range.